package cn.com.dcsgo.constant;

/**
 * 身份验证相关常量
 * 使用接口是因为接口中的属性默认使用 public static final修饰
 *
 * @author Dcsgo
 * @since 2025/9/16 09:08
 */

public interface AuthConstant {
    /**
     * token 携带在请求中的 header 的 key
     */
    String AUTHORIZATION = "Authorization";
    /**
     * token 的前缀
     */
    String BEARER = "Bearer ";
    /**
     * redis 中存放 token 的前缀
     */
    String LOGIN_TOKEN_PREFIX = "login_token:";
    /**
     * 登录的路径
     */
    String LOGIN_URL = "/doLogin";
    /**
     * 登出的路径
     */
    String LOGOUT_URL = "/doLogout";
    /**
     * 登录的类型
     */
    String LOGIN_TYPE = "loginType";
    /**
     * 管理员登录标记
     */
    String SYS_USER_LOGIN = "sysUserLogin";
    /**
     * 会员标记
     */
    String MEMBER_LOGIN = "memberLogin";
    /**
     * token 的过期时间
     */
    Long TOKEN_TIME = 7200L;
    /**
     * token 过期的临界值
     */
    Long TOKEN_EXPIRE_THRESHOLD_TIME = 1800L;

    /**
     * 无需认证即可获取的资源的URL
     */
    String[] RESOURCE_ALLOW_URLS = {
            "/v3/api-docs/**",
    };
}
